;
; Copyright (c) Microsoft Corporation.  All rights reserved.
;
;
; Use of this sample source code is subject to the terms of the Microsoft
; license agreement under which you licensed this sample source code. If
; you did not accept the terms of the license agreement, you are not
; authorized to use this sample source code. For the terms of the license,
; please see the license agreement between you and Microsoft or, if applicable,
; see the LICENSE.RTF on your install media or the root of your tools installation.
; THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
;
;
; (C) Copyright 2006 Marvell International Ltd.
; All Rights Reserved
;
;Comment out stuff  invalid for Monahans 
;******************************************************************************
;
;  COPYRIGHT (C) 2002 Intel Corporation.
;
;  This software as well as the software described in it is furnished under 
;  license and may only be used or copied in accordance with the terms of the 
;  license. The information in this file is furnished for informational use 
;  only, is subject to change without notice, and should not be construed as 
;  a commitment by Intel Corporation. Intel Corporation assumes no 
;  responsibility or liability for any errors or inaccuracies that may appear 
;  in this document or any software that may be provided in association with 
;  this document.
; 
;  Except as permitted by such license, no part of this document may be 
;  reproduced, stored in a retrieval system, or transmitted in any form or by 
;  any means without the express written consent of Intel Corporation. 
;
;  FILENAME:       xllp_Pm_SleepFWA.s
;
;  PURPOSE:        Provides assembly level code for startup code support of
;                   context restoration after sleep
;                  for the PXA/Zylonite processor/platform.
;                  
;
;  LAST MODIFIED:  01/28/05
;******************************************************************************
;
; The functions in this source code are called via a branch with link instruction.
;
; NOTES:
;
; These functions assume that the MMU is enabled, except for any which receive all addresses
; as parameters.
;

        AREA    |.text|, CODE, READONLY, ALIGN=5        ; Align =5 required for "ALIGN 32" to work
;
; Functions made public by this file:
;

        EXPORT XllpCpuIdle 



XllpCpuIdle  FUNCTION
    ldr     r0, =0x01                       ; 1 = Idle Mode
    mcr     p14, 0, r0, c7, c0, 0           ; Enter Idle mode
    
    IF :DEF: Interworking
        IF Interworking :LOR: Thumbing
         bx  lr
        ELSE
         mov  pc, lr          ; return
        ENDIF ; ELSE of IF Interworking :LOR: Thumbing
    ELSE ; IF :DEF: Interworking
         mov  pc, lr          ; return
    ENDIF ; ELSE OF IF :DEF: Interworking

    ENDFUNC

    END
  
